import { Subject } from 'rxjs';

/**
 * 主编辑表单
 *
 * @export
 * @class MainData
 */
export class MainData {

    /**
     * 忽略属性值变化
     *
     * @type {boolean}
     * @memberof MainData
     */
    public ignorefieldvaluechange: boolean = false;

    /**
     * 属性值变化
     *
     * @type {Subject<any>}
     * @memberof MainData
     */
    public fieldValueChange: Subject<any> = new Subject();

    /**
     * 更新时间
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfupdatedate: any = null;

    /**
     * 设置srfupdatedate值
     *
     * @memberof MainData
     */
    set srfupdatedate(val: any) {
        const oldVal = this._srfupdatedate;
        this._srfupdatedate = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfupdatedate', value: val });
        }
    }

    /**
     * 获取srfupdatedate值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfupdatedate(): any {
        return this._srfupdatedate;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srforikey: any = null;

    /**
     * 设置srforikey值
     *
     * @memberof MainData
     */
    set srforikey(val: any) {
        const oldVal = this._srforikey;
        this._srforikey = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srforikey', value: val });
        }
    }

    /**
     * 获取srforikey值
     *
     * @type {*}
     * @memberof MainData
     */
    get srforikey(): any {
        return this._srforikey;
    }

    /**
     * 数据对象能力明细标识
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfkey: any = null;

    /**
     * 设置srfkey值
     *
     * @memberof MainData
     */
    set srfkey(val: any) {
        const oldVal = this._srfkey;
        this._srfkey = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfkey', value: val });
        }
    }

    /**
     * 获取srfkey值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfkey(): any {
        return this._srfkey;
    }

    /**
     * 数据对象能力明细名称
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfmajortext: any = null;

    /**
     * 设置srfmajortext值
     *
     * @memberof MainData
     */
    set srfmajortext(val: any) {
        const oldVal = this._srfmajortext;
        this._srfmajortext = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfmajortext', value: val });
        }
    }

    /**
     * 获取srfmajortext值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfmajortext(): any {
        return this._srfmajortext;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srftempmode: any = null;

    /**
     * 设置srftempmode值
     *
     * @memberof MainData
     */
    set srftempmode(val: any) {
        const oldVal = this._srftempmode;
        this._srftempmode = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srftempmode', value: val });
        }
    }

    /**
     * 获取srftempmode值
     *
     * @type {*}
     * @memberof MainData
     */
    get srftempmode(): any {
        return this._srftempmode;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfuf: any = null;

    /**
     * 设置srfuf值
     *
     * @memberof MainData
     */
    set srfuf(val: any) {
        const oldVal = this._srfuf;
        this._srfuf = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfuf', value: val });
        }
    }

    /**
     * 获取srfuf值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfuf(): any {
        return this._srfuf;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfdeid: any = null;

    /**
     * 设置srfdeid值
     *
     * @memberof MainData
     */
    set srfdeid(val: any) {
        const oldVal = this._srfdeid;
        this._srfdeid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfdeid', value: val });
        }
    }

    /**
     * 获取srfdeid值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfdeid(): any {
        return this._srfdeid;
    }

    /**
     * 
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _srfsourcekey: any = null;

    /**
     * 设置srfsourcekey值
     *
     * @memberof MainData
     */
    set srfsourcekey(val: any) {
        const oldVal = this._srfsourcekey;
        this._srfsourcekey = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'srfsourcekey', value: val });
        }
    }

    /**
     * 获取srfsourcekey值
     *
     * @type {*}
     * @memberof MainData
     */
    get srfsourcekey(): any {
        return this._srfsourcekey;
    }

    /**
     * 数据对象能力
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _userroledataid: any = null;

    /**
     * 设置userroledataid值
     *
     * @memberof MainData
     */
    set userroledataid(val: any) {
        const oldVal = this._userroledataid;
        this._userroledataid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'userroledataid', value: val });
        }
    }

    /**
     * 获取userroledataid值
     *
     * @type {*}
     * @memberof MainData
     */
    get userroledataid(): any {
        return this._userroledataid;
    }

    /**
     * 查询模型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _querymodelname: any = null;

    /**
     * 设置querymodelname值
     *
     * @memberof MainData
     */
    set querymodelname(val: any) {
        const oldVal = this._querymodelname;
        this._querymodelname = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'querymodelname', value: val });
        }
    }

    /**
     * 获取querymodelname值
     *
     * @type {*}
     * @memberof MainData
     */
    get querymodelname(): any {
        return this._querymodelname;
    }

    /**
     * 排除数据范围
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _isexclude: any = null;

    /**
     * 设置isexclude值
     *
     * @memberof MainData
     */
    set isexclude(val: any) {
        const oldVal = this._isexclude;
        this._isexclude = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'isexclude', value: val });
        }
    }

    /**
     * 获取isexclude值
     *
     * @type {*}
     * @memberof MainData
     */
    get isexclude(): any {
        return this._isexclude;
    }

    /**
     * 备注
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _memo: any = null;

    /**
     * 设置memo值
     *
     * @memberof MainData
     */
    set memo(val: any) {
        const oldVal = this._memo;
        this._memo = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'memo', value: val });
        }
    }

    /**
     * 获取memo值
     *
     * @type {*}
     * @memberof MainData
     */
    get memo(): any {
        return this._memo;
    }

    /**
     * 数据对象能力明细标识
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _userroledatadetailid: any = null;

    /**
     * 设置userroledatadetailid值
     *
     * @memberof MainData
     */
    set userroledatadetailid(val: any) {
        const oldVal = this._userroledatadetailid;
        this._userroledatadetailid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'userroledatadetailid', value: val });
        }
    }

    /**
     * 获取userroledatadetailid值
     *
     * @type {*}
     * @memberof MainData
     */
    get userroledatadetailid(): any {
        return this._userroledatadetailid;
    }

    /**
     * 查询模型
     *
     * @private
     * @type {*}
     * @memberof MainData
     */
    private _querymodelid: any = null;

    /**
     * 设置querymodelid值
     *
     * @memberof MainData
     */
    set querymodelid(val: any) {
        const oldVal = this._querymodelid;
        this._querymodelid = val;
        if (!Object.is(oldVal, val) && !this.ignorefieldvaluechange) {
            this.fieldValueChange.next({ name: 'querymodelid', value: val });
        }
    }

    /**
     * 获取querymodelid值
     *
     * @type {*}
     * @memberof MainData
     */
    get querymodelid(): any {
        return this._querymodelid;
    }

}